package org.darkforest.common.services.impl;

import org.darkforest.common.services.StoreMsgService;
import org.darkforest.dao.mapper.StoreMsgMapper;
import org.darkforest.model.StoreMsg;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.*;

/**
 * Created by Administrator on 2015/12/7.
 */
@Service
public class StoreMsgSerivceImpl implements StoreMsgService {
    @Autowired
    private StoreMsgMapper storeMsgMapper;


    @Override
    public int deleteByPrimaryKey(Integer smId) {
        return storeMsgMapper.deleteByPrimaryKey(smId);
    }

    @Override
    public int insert(StoreMsg record) {
        return storeMsgMapper.insert(record);
    }

    @Override
    public int insertSelective(StoreMsg record) {
        return storeMsgMapper.insertSelective(record);
    }

    @Override
    public StoreMsg selectByPrimaryKey(Integer smId) {
        return storeMsgMapper.selectByPrimaryKey(smId);
    }

    @Override
    public int updateByPrimaryKeySelective(StoreMsg record) {
        return storeMsgMapper.updateByPrimaryKeySelective(record);
    }

    @Override
    public int updateByPrimaryKey(StoreMsg record) {
        return storeMsgMapper.updateByPrimaryKey(record);
    }

    @Override
    public List<StoreMsg> findStoreMsgByLimits(Integer storeId) {
        return storeMsgMapper.findStoreMsgByLimits(storeId);
    }

    @Override
    public int deleteMsgBatch(String[] smIds, Integer storeId) {
        List<String> ids = new ArrayList<String>();
        for(String smId:smIds){
            ids.add(smId);
        }
        Map map = new HashMap<String,Object>();
        map.put("store_id", storeId);
        map.put("smIds", ids);

        return storeMsgMapper.deleteMsgBatch(map);


    }

    /**
     * 批量设置已读标识
     *
     * @param smids
     * @return
     */
    @Override
    public int updateReadTagBatch(String[] smids) {
        List<String> ids = new ArrayList<String>();
        for(String smId:smids){
            ids.add(smId);
        }

        Map map = new HashMap<String,Object>();
        map.put("smIds", ids);
        return storeMsgMapper.updateReadTagBatch(map);
    }

    @Override
    public StoreMsg findByPage(StoreMsg storeMsgs) {
//        storeMsgs.setResultList(storeMsgMapper.findStoreMsgByLimits(storeMsgs.getStoreId()));
        storeMsgs.setResultList(storeMsgMapper.selectByCondition(storeMsgs));
        return storeMsgs;
    }
}
